#include <fstream>

using namespace std;

int main()
{
    // 在这几条语句中，file1 都被截断
    ofstream out("file1"); // 隐含以输出模式打开文件并截断文件
    ofstream out2("file1", ofstream::out); // 隐含地截断文件
    ofstream out3("file1", ofstream::out | ofstream::trunc);
    // 为了保留文件内容，我们必须显示指定 app 模式
    ofstream app("file2", ofstream::app); // 隐含为输出模式
    ofstream app2("file2", ofstream::out | ofstream::app);

    ofstream out; // 未指定文件打开模式
    out.open("scratchpad"); // 模式隐含设置为输出和截断
    out.close(); // 关闭 out，以便我们将其用于其他文件
    out.open("precious", ofstream::app); // 模式为输出和追加
    out.close();
}